<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>博客详情页</title>
    <link rel="stylesheet" href="css/common.css">
    <link rel="stylesheet" href="css/blog_detail.css">
      <!-- 引入 editor.md 的依赖 -->
      <link rel="stylesheet" href="editor.md/css/editormd.min.css" />
      <script src="js/jquery.min.js"></script>
      <script src="editor.md/lib/marked.min.js"></script>
      <script src="editor.md/lib/prettify.min.js"></script>
      <script src="editor.md/editormd.js"></script>
</head>

<body>
    <!-- 导航栏 -->
    <div class="nav">
        <img src="image/logo.png" alt="">
        <span>我的博客系统</span>
        <!-- 空白元素，用来占位置 -->
        <div class="spacer"></div>
        <a href="blog_list.html">主页</a>
        <a href="blog_edit.html">写博客</a>
        <a href="logout">注销</a>
    </div>

    <!-- 这里的.container 作为页面的版心 -->
    <div class="container">
        <!-- 左侧个人信息 -->
        <div class="left">
            <!-- 表示整个用户信息区域 -->
            <div class="card">
                <img src="image/doge.png" alt="">
                <h3>朱天</h3>
                <a href="#">GitHub地址</a>
                <div class="counter">
                    <span>文章</span>
                    <span>分类</span>
                </div>
                <div class="counter">
                    <span>2</span>
                    <span>1</span>
                </div>
            </div>
        </div>
        <!-- 右侧内容详情 -->
        <div class="right">
            <!-- 使用这一个div来包裹整个博客的内容详情 -->
            <div class="blog-content">
                <h3>我的第一篇博客</h3>
                <div class="date">
                    2022-02-03 18:22:00
                </div>
                <!--博客的正文-->
                <div id="content" style = "opacity: 80%;">


                </div>
            </div>
        </div>
    </div>
    <script>
        function getBlogDetail(){
            $.ajax({
                type:'get',
                //location.search拿到了形如 ‘？blogId=5'这样一段内容
                url:'blog'+location.search,
                success:function(body){
                    //根据body中的内容来构造页面
                    //构造博客标题
                    let h3 = document.querySelector('.blog-content>h3');
                    h3.innerHTML = body.title;
                    //构造博客发布时间
                    let dateDiv = document.querySelector('.date');
                    dateDiv.innerHTML = body.postTime;
                    //构造博客正文
                    //如果直接把content设为innerHTML，此时展示在界面上的内容，是原始的markdown字符串
                    // let content = document.querySelector('#content');
                    // content.innerHTML = body.content;

                    //第一个参数对应id=content的html标签，渲染后得到的html片段就会被放到这个标签下
                    editormd.markdownToHTML('content',{
                        markdown:body.content
                    });
                }
            });
        }

        getBlogDetail();

        
        


        // 这个文件里放一些页面公共的代码

    // 加上一个逻辑, 通过 GET /login 这个接口来获取下当前的登录状态~
    function getUserInfo(pageName) {
        $.ajax({
            type: 'get',
            url: 'login',
            success: function(body) {
                // 判定此处的 body 是不是一个有效的 user 对象(userId 是否非 0)
                if (body.userId && body.userId > 0) {
                    // 登录成功!
                    // 不做处理!
                    console.log("当前用户登录成功! 用户名: " + body.username);
                    //在getUserInfo的回调函数中，来调用获取作者信息
                    getAuthorInfo(body)

                } else {
                    // 登录失败!
                    // 让前端页面, 跳转到 login.html
                    alert("当前您尚未登录! 请登录后再访问博客列表!");
                    location.assign('blog_login.html');
                }
            },
            error: function() {
                alert("当前您尚未登录! 请登录后再访问博客列表!");
                location.assign('blog_login.html');
            }
        });
    }




        
//判定用户的登录状态
    getUserInfo("blog_detail.html");

    //从服务器获取一下当前博客作者的信息，并显示到界面上

    //参数user就是服务器返回的User对象，是文章的作者信息
    function getAuthorInfo(user){
            $.ajax({
                type:'get',
                url:'authorInfo' + location.search,
                success:function(body){
                    //次数的body,就是服务器返回的User对象
                    if(body.username){
                        //如果响应中的username存在，就把这个值设置到页面上
                        changeUserName(body.username);
                        if(body.username == user.username){
                            //作者和登录的用户是同一个人，则显示“删除按钮”
                            let navDiv =document.querySelector('.nav');
                            let a = document.createElement('a');
                            a.innerHTML = '删除';
                            //期望点击删除，构造一个形如blogDelete?blogId = 6这样的请求
                            a.href = 'blogDelete'+ location.search;
                            navDiv.appendChild(a);

                        }
                    }else{
                        console.log("获取作者信息失败！" +body.reason);
                    }
                }
            });
        }

    function changeUserName(username) {
        let h3 = document.querySelector('.card>h3');
        h3.innerHTML = username;
    }

    </script>
    

</body>
</html> 